cmake_minimum_required(VERSION 3.0.0)
project(smart-meeting VERSION 0.1.0 LANGUAGES C)

add_library(record STATIC record.c)

add_library(control STATIC control.c)

add_subdirectory(snowboy) # 添加子目录

# add_executable(play play.c)
# target_link_libraries(play asound)

# add_executable(key key.c record.c token.c http.c config.c)
# target_compile_definitions(key PRIVATE _GNU_SOURCE)
# target_link_libraries(key gpiod asound control curl cjson)

add_executable(wake wake.c record.c stt.c token.c http.c config.c)
target_compile_definitions(wake PRIVATE _GNU_SOURCE)
target_link_libraries(wake snowboy-wrapper snowboy-detect cblas m stdc++ asound curl cjson)

# add_executable(chat chat.c config.c http.c)
# target_compile_definitions(chat PRIVATE _GNU_SOURCE)
# target_link_libraries(chat curl cjson)

add_executable(jrsc jrsc.c)
target_link_libraries(jrsc curl cjson)

add_executable(utils utils.c)
target_link_libraries(utils uuid resolv)

# add_executable(tts tts.c config.c http.c play.c)
# target_compile_definitions(tts PRIVATE _GNU_SOURCE)
# target_link_libraries(tts cjson curl uuid resolv asound)

add_executable(main main.c record.c token.c http.c config.c stt.c tts.c play.c chat.c)
target_compile_definitions(main PRIVATE _GNU_SOURCE)
target_link_libraries(main gpiod asound control curl cjson snowboy-wrapper snowboy-detect cblas m stdc++ uuid resolv)

# add_executable(token token.c http.c config.c)
# target_compile_definitions(token PRIVATE _GNU_SOURCE)
# target_link_libraries(token curl cjson)

# add_executable(stt stt.c token.c http.c config.c)
# target_compile_definitions(stt PRIVATE _GNU_SOURCE)
# target_link_libraries(stt curl cjson)



# add_executable(control control.c)
# target_link_libraries(control asound)

# add_executable(record record.c)
# target_link_libraries(record asound)